home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Gamer Resource Kit / Hardcore Gamer Resource Kit - Disc 2.iso / Pc / P_R / RTZDK12.ZIP / INSTALL.DAT next >
Text File  |  1993-12-14  |  20KB  |  821 lines

  1. @DefineProject
  2.     @Name="Return to Zork"
  3.     @Version="1.00"
  4.     @OutDrive=C
  5.     @Subdir="\\RTZ"
  6.     @InDiskBell=1
  7. @EndProject
  8.  
  9. @If (@Exists("@OutDrive:\\386MAX$$"))
  10.     @Display
  11.  @Text("386MAX")
  12.  
  13.  @Text("MaySLO", @Name)
  14.  
  15.  @Pause
  16.     @EndDisplay
  17. @EndIf
  18.  
  19. @ChDrive @InDrive
  20. // @ChDir "@InDir"
  21.  
  22. @DefineVars
  23.     @QString @Lang ="TXT"   // Natural language textfile
  24.                 // Version (0=FD, 1=regular CD, 2=Reel Magic CD) 
  25.     @Integer @Media =0
  26.                 // Installing (else reconfiguring)?
  27.     @Integer @Initial =(@Exists("@InDrive:\\DISK.ID"))
  28.     @Integer @ChgCfg =0     // Changing (else showing) configuration?
  29. @EndVars
  30.  
  31. @If (@Exists("@InDrive:.\\RTZCD.*"))
  32.     @Media=1
  33.     @Name="@Name CD-ROM"
  34. @ElseIf (@Exists("@InDrive:.\\RTZRM.*"))
  35.     @Media=2
  36.     @Name="@Name Reel Magic"
  37. @EndIf
  38.  
  39. @If (!@Exists("@InDrive:.\\ITXT.@Lang"))
  40.     @If (1)        // 0=international; 1=English only
  41.         @SetOption(1)
  42.     @Else
  43.         @GetOption @Cls @LocalWindow(9,40)
  44.                 @Name
  45.             @Option 1="For  ENGLISH,  highlight this line and press ENTER"
  46.             @Option 2="Pour FRANÇAIS, ..."
  47.             @Option 3="Für  DEUTSCH,  diese Linie hervvorheben und ENTER drücken"
  48.           //@Option 4="Para ESPAÑOL,  ..."
  49.           //@Option 5="Per  ITALIANO, ..."
  50.         @EndOption
  51.     @EndIf
  52.     @If     (1[=@Option) @Lang="ENG"
  53.     @ElseIf (2[=@Option) @Lang="FRA"
  54.     @ElseIf (3[=@Option) @Lang="DEU"
  55.     @ElseIf (4[=@Option) @Lang="ESP"
  56.     @ElseIf (5[=@Option) @Lang="ITA"
  57.     @EndIf
  58. @EndIf
  59. @TextFile="ITXT.@Lang"
  60.  
  61. @DefineVars
  62.     @Integer @ExtraMem =(@ExtTotal + @EMMTotal)
  63.     @QString @MADECmd ="MADE"
  64.     @QString @FileBase ="RTZ"
  65.     @QString @ReadMe ="README"
  66.     @Integer @PRJM =22
  67.     @Integer @OtherM =2
  68.     @QString @Args =""
  69.     @Drive   @CDDrive =@InDrive     // CD-ROM drive, if any
  70.     @Integer @CDDriveI =0           // (0=A, ..., 26=Z)
  71.     @QString @OutDir =""
  72.     @QString @ST0  ="LifeSize Sound Enhancer"
  73.     @QString @SF0  ="LSIZE"
  74.     @QString @ST1  ="Creative Labs Sound Blaster"
  75.     @QString @SF1  ="SBLASTER"
  76.     @QString @ST2  ="@ST1 Pro"
  77.     @QString @SF2  ="SBPRO"
  78.     @QString @ST3  =@Text("SBclone")
  79.     @QString @SF3  ="SBCLONE"
  80.     @QString @ST4  ="Disney SoundSource"
  81.     @QString @SF4  ="SOURCE"
  82.     @QString @ST5  ="Tandy SL/TL & Sensation"
  83.     @QString @SF5  ="TANSLTL"
  84.     @QString @ST6  ="Pro AudioSpectrum"
  85.     @QString @SF6  ="PAUDIO"
  86.     @QString @ST7  ="@ST6 16"
  87.     @QString @SF7  ="PAS16"
  88.     @QString @ST8  ="Covox Speech Thing"
  89.     @QString @SF8  ="CVXSND"
  90.     @QString @ST9  ="Windows Sound System"
  91.     @QString @SF9  ="SNDSYS"
  92.     @QString @ST10 ="@ST1 16"
  93.     @QString @SF10 ="SB16"
  94.     @QString @ST11 ="Logitech SoundMan"
  95.     @QString @SF11 =@SF2
  96.     @QString @ST12 ="Advanced Gravis UltraSound"
  97.     @QString @SF12 ="GF166"
  98.     @QString @ST13 =@Text("AdLibG")
  99.     @QString @SF13 ="ADLIBG"
  100.     @QString @SndDrvs ="@SF0=@ST0:@SF1=@ST1:@SF2=@ST2:@SF3=@ST3:@SF4=@ST4:@SF5=@ST5:@SF6=@ST6:@SF7=@ST7:@SF8=@ST8:@SF9=@ST9:@SF10=@ST10:@SF11=@ST11:@SF12=@ST12:@SF13=@ST13"
  101.     @QString @SndDrv =""
  102.     @Integer @SndDrvI =0
  103.     @QString @Snd =""
  104.     @QString @MT0 =@Text("None")
  105.     @QString @MF0 ="NUL"
  106.     @QString @MT1 =@Text("AdLib")
  107.     @QString @MF1 ="ADLIB"
  108.     @QString @MT2 =@ST13
  109.     @QString @MF2 =@SF13
  110.     @QString @MT3 =@ST1
  111.     @QString @MF3 =@MF1
  112.     @QString @MT4 =@ST2
  113.     @QString @MF4 =@MF1
  114.     @QString @MT5 =@Text("PCspkr")
  115.     @QString @MF5 ="PCSPKR"
  116.     @QString @MT6 ="Roland LAPC-I synthesizer"
  117.     @QString @MF6 ="MT32MPU"
  118.     @QString @MT7 ="Roland MPU-401 MIDI"
  119.     @QString @MF7 =@MF6
  120.     @QString @MT8 ="Roland MT-32 synthesizer"
  121.     @QString @MF8 =@MF6
  122.     @QString @MT9 =@ST10
  123.     @QString @MF9 =@MF1
  124.     @QString @MT10 =@ST12
  125.     @QString @MF10 ="GF1MIDI"
  126.     @QString @MT11 =@ST6
  127.     @QString @MF11 =@MF1
  128.     @QString @MT12 =@ST3
  129.     @QString @MF12 =@MF1
  130.     @QString @MT13 =@ST11
  131.     @QString @MF13 =@MF1
  132.     @QString @MT14 ="@ST10 MIDI"
  133.     @QString @MF14 ="SB16MPU"
  134.     @QString @MusDrvs ="@MF0=@MT0:@MF1=@MT1:@MF2=@MT2:@MF3=@MT3:@MF4=@MT4:@MF5=@MT5:@MF6=@MT6:@MF7=@MT7:@MF8=@MT8:@MF9=@MT9:@MF10=@MT10:@MF11=@MT11:@MF12=@MT12:@MF13=@MT13:@MF14=@MT14"
  135.     @QString @MusDrv =""
  136.     @Integer @MusDrvI =0
  137.     @QString @Mus =""
  138.     @QString @SndDflt =""
  139.     @QString @SndDflts ="5:3:4:12:5s:5:11p:11p:5:5:14:13:10!u:2s!"
  140.     @Integer @IOAddr =0
  141.     @QString @IOAddrQS =""
  142.     @Integer @IRQ =0
  143.     @QString @IRQQS =""
  144.     @Integer @DMA =0
  145.     @QString @DMAQS =""
  146.     @QString @LH =""
  147.     @QString @HexDig ="0123456789ABCDEF0123456789abcdef"
  148.     @QString @Alpha ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  149.     @QString @NY ="~N ~Y"
  150.     @QString @BOn =""
  151.     @QString @BOff =""
  152.     @Integer @TmpI1 =0
  153.     @Integer @TmpI2 =0
  154.     @Integer @TmpI3 =0
  155.     @QString @TmpQS =""
  156.     @Drive   @TmpDr =A
  157.     @Dir     @TmpDi ="\\"
  158. @EndVars
  159.  
  160. @If (@Media==1)
  161.     @Subdir="@Subdir@!-CD"
  162.     @MADECmd="@MADECmd@!CD"
  163.     @FileBase="@FileBase@!CD"
  164.     @ReadMe="@ReadMe@!CD"
  165.     @PRJM=45
  166. @ElseIf (@Media==2)
  167.     @Subdir="@Subdir@!-RM"
  168.     @MADECmd="@MADECmd@!RM"
  169.     @FileBase="@FileBase@!RM"
  170.     @ReadMe="@ReadMe@!RM"
  171. @EndIf
  172.  
  173. @Display
  174.     @MoveCStr(0,54,126,"╔════════════════╗")
  175.     @MoveCStr(1,54,126,"║    INFOCOM     ║")
  176.     @MoveCStr(2,54,126,"╚════════════════╝")
  177.     @MoveCStr(3,56,  0,"                  ")
  178.     @MoveCStr(1,72,0,"  ")
  179.     @MoveCStr(2,72,0,"  ")
  180.     @MoveCStr(4,20,95,"╔═══════════════════════════════╗")
  181.     @MoveCStr(5,20,95,"║  R E T U R N   T O   Z O R K  ║")
  182.     @MoveCStr(6,20,95,"╚═══════════════════════════════╝")
  183.     @MoveCStr(7,22, 0,"                                 ")
  184.     @MoveCStr(5,53,0,"  ")
  185.     @MoveCStr(6,53,0,"  ")
  186.     @Move(8,0)
  187.     @If (@Initial)
  188.     @Text("HiNew", @Name)
  189.         @If (!@Media)
  190.     @Text("LongTime", @Name)
  191.         @EndIf
  192.     @Text("EscCmd")
  193.     @Else
  194.     @Text("HiOld", @Name)
  195.     @EndIf
  196.  
  197.     @Pause
  198. @EndDisplay
  199.  
  200. @If (!@Initial)
  201.     @OutDrive=@InDrive
  202.     @Subdir="@GetCWD(@InDrive)"
  203.     @OutDir="@OutDrive:\\@Subdir"
  204.     @Goto ChooseConfig
  205. @EndIf
  206.  
  207.  
  208. ChooseDest:
  209.  
  210. @FlushOptions()
  211.  
  212. @TmpI1=@OtherM
  213. @If (!@Media)
  214.     @SetOption(61)
  215.     @TmpI1=(@TmpI1+@PRJM)
  216. @EndIf
  217.  
  218. @GetOutDrive @LocalWindow(15,40)
  219.     // @Suppress @InDrive // INSTALL only accepts A-Z after @Suppress
  220.     @If (!@DirExists("A:")) @Suppress A @EndIf
  221.     @If (!@DirExists("B:")) @Suppress B @EndIf
  222.     @Cls
  223.  
  224.  @Text("ProdDrv?1", @Name)
  225.  
  226.  @Text("ProdDrv?2", "@TmpI1")
  227.  
  228.  @Text("ProdDrv?3")
  229.     @Move(22,0)@Text("SelectCmds")@Move(0,0)
  230. @EndOutDrive
  231.  
  232. @TmpI2=(@DiskFree(@OutDrive)/1000000)
  233. @If (@TmpI2<@TmpI1)
  234.     @GetOption @Cls @LocalWindow(13,40)
  235.  @Text("NotEnufDisk", @Name, "@TmpI1", "@OutDrive", "@Eval(@TmpI2+1)")
  236.  
  237.  @Text("NowWhat?")
  238.         @Option 12="@Text("NewDrv")"
  239.         @Option 13="@Text("TryToInstall")"
  240.         @Option 14="@Text("Abort")"
  241.     @EndOption
  242.     @If     (12[=@Option) @Goto ChooseDest
  243.     @ElseIf (14[=@Option) @Exit
  244.     @EndIf
  245. @EndIf
  246.  
  247. @If (@Media)
  248.     @GetOption @Cls @LocalWindow(13,40)
  249.  @Text("CopyPRJ1")
  250.  
  251.  @Text("CopyPRJ2", "@PRJM")
  252.         @If (@TMpI2>=@TmpI1+@PRJM)
  253.  @Text("PRJFits", "@OutDrive")
  254.             @CheckBox
  255.             @Option 61="@Text("CopyPRJ?")"
  256.             @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  257.         @Else
  258.  @Text("!PRJFits", "@OutDrive")
  259.  
  260.  @Text("NowWhat?")
  261.             @Option  0="@Text("!Copy")"
  262.             @Option 61="@Text("TryToCopy")"
  263.             @Option 12="@Text("NewDrv")"
  264.             @Option 14="@Text("Abort")"
  265.         @EndIf
  266.     @EndOption
  267.     @If     (12[=@Option) @Goto ChooseDest
  268.     @ElseIf (14[=@Option) @Exit
  269.     @EndIf
  270. @EndIf
  271.  
  272. @GetSubdir @Cls @LocalWindow(9,40)
  273.     @Prompt=" @Text("Dir?") "
  274.  
  275.  @Text("ProdDir?", @Name)
  276.  
  277.  @Text("CreDir")
  278. @EndSubdir
  279.  
  280. @OutDir="@OutDrive:\\@Subdir"
  281. @If (@DirExists(@OutDir))
  282.     @GetOption @Cls @LocalWindow(11,40)
  283.  @Text("DirExist", @OutDir)
  284.  
  285.  @Text("NowWhat?")
  286.         @If (@DirExists("@OutDir\\DRIVERS"))
  287.             @Option 11="@Text("NewCfg")"
  288.         @EndIf
  289.         @Option 12="@Text("NewDrvOrDir")"
  290.         @Option 13="@Text("Overwrite")"
  291.         @Option 14="@Text("Abort")"
  292.     @EndOption
  293.     @If     (11[=@Option) @Goto ChooseConfig
  294.     @ElseIf (12[=@Option) @Goto ChooseDest
  295.     @ElseIf (14[=@Option) @Exit
  296.     @EndIf
  297. @EndIf
  298.  
  299. @MkDir(@OutDir)
  300.  
  301. @If ((!@Media) && 61[=@Option)
  302. @DefineDisk @Label="Disk #1"  @BeginLib RTZ.001 @File *.* @EndLib @EndDisk
  303. @DefineDisk @Label="Disk #2"  @BeginLib RTZ.002 @File *.* @EndLib @EndDisk
  304. @DefineDisk @Label="Disk #3"  @BeginLib RTZ.003 @File *.* @EndLib @EndDisk
  305. @DefineDisk @Label="Disk #4"  @BeginLib RTZ.004 @File *.* @EndLib @EndDisk
  306. @DefineDisk @Label="Disk #5"  @BeginLib RTZ.005 @File *.* @EndLib @EndDisk
  307. @DefineDisk @Label="Disk #6"  @BeginLib RTZ.006 @File *.* @EndLib @EndDisk
  308. @DefineDisk @Label="Disk #7"  @BeginLib RTZ.007 @File *.* @EndLib @EndDisk
  309. @DefineDisk @Label="Disk #8"  @BeginLib RTZ.008 @File *.* @EndLib @EndDisk
  310. @DefineDisk @Label="Disk #9"  @BeginLib RTZ.009 @File *.* @EndLib @EndDisk
  311. @DefineDisk @Label="Disk #10" @BeginLib RTZ.010 @File *.* @EndLib @EndDisk
  312. @DefineDisk @Label="Disk #11" @BeginLib RTZ.011 @File *.* @EndLib @EndDisk
  313. @DefineDisk @Label="Disk #12" @BeginLib RTZ.012 @File *.* @EndLib @EndDisk
  314. @EndIf
  315.  
  316. @DefineDisk @Label="Disk #1"
  317.     @If (@Media && 61[=@Option)
  318.         @File @FileBase.PRJ
  319.     @EndIf
  320.     @File INSTALL.EXE
  321.     @File INSTALL.DAT
  322.     @File @TextFile @Out ITXT.TXT
  323.     @BeginLib @FileBase@!DRV.RED
  324.         @File *.* @Out DRIVERS\\*.*
  325.         @File SBPRO.COM @Out DRIVERS\\SB16.*
  326.     @EndLib
  327.     @BeginLib @FileBase.RED
  328.         @If (@Exists("@InDrive:\\READ.ME"))
  329.             @File @ReadMe.@Lang @Out READ.ME
  330.         @EndIf
  331.         @File SAMPLE.*
  332.         @File SAMPLE.AD @Out *.OPL
  333.         @File RTZ*.*
  334.         @File *.EXE
  335.     @EndLib
  336.     @If (@Exists("@InDrive:\\@MADECmd.EXE"))
  337.         @File @MADECmd.EXE
  338.     @EndIf
  339. @EndDisk
  340.  
  341. @Commit
  342.  
  343. @ChDrive @OutDrive
  344. @ChDir "@Subdir"
  345.  
  346. @TmpI1=@PeekF("RTZ.PIF", 1, 1)
  347. @PeekF(, 101, 0)
  348. @TmpI2=0
  349. PIF:
  350.     @TmpI3=(@StrIndex(@OutDir, @TmpI2))
  351.     @PokeF(,, 1, @TmpI3)
  352.     @TmpI1=(@TmpI1+@TmpI3- 32)
  353.     @TmpI2=(@TmpI2+1)
  354.     @If (@TmpI3) @Goto PIF @EndIf
  355. @PokeF(, 1, 1, @TmpI1)
  356.  
  357. @TmpI1=@PeekF("RTZ.GRP", 4, 2)
  358. @PeekF(, 90, 0)
  359. @TmpQS="@OutDir\\RTZ.PIF"
  360. @TmpI2=0
  361. GRP1:
  362.     @TmpI3=(@StrIndex(@TmpQS, @TmpI2))
  363.     @PokeF(,, 1, @TmpI3)
  364.     @TmpI1=(@TmpI1-(@TmpI3 * ((@TmpI2 & 1)*255 + 1)))
  365.     @TmpI2=(@TmpI2+1)
  366.     @If (@TmpI3) @Goto GRP1 @EndIf
  367.  
  368. @PeekF(, 158, 0)
  369. @TmpQS="@OutDir\\RTZ.ICO"
  370. @TmpI2=0
  371. GRP2:
  372.     @TmpI3=(@StrIndex(@TmpQS, @TmpI2))
  373.     @PokeF(,, 1, @TmpI3)
  374.     @TmpI1=(@TmpI1-(@TmpI3 * ((@TmpI2 & 1)*255 + 1)))
  375.     @TmpI2=(@TmpI2+1)
  376.     @If (@TmpI3) @Goto GRP2 @EndIf
  377. @PokeF(, 4, 2, @TmpI1)
  378.  
  379.  
  380. ChooseWindows:
  381.  
  382. @GetOption @Cls @CheckBox @LocalWindow(10,40)
  383.  
  384.  @Text("Win1", @Name)
  385.     @If (!@InWin)
  386.  @Text("Win2")
  387.     @EndIf
  388.     @SetOption(62) @Option 62="@Text("Win?")"
  389.     @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  390. @EndOption
  391. @If (62[=@Option)
  392.     @GetOutDrive @TmpDr @LocalWindow(15,40)
  393.         // @Suppress @InDrive // INSTALL only accepts A-Z after @Suppress
  394.         @If (!@DirExists("A:")) @Suppress A @EndIf
  395.         @If (!@DirExists("B:")) @Suppress B @EndIf
  396.         @Cls
  397.  
  398.  @Text(@StrToken("WinDrv?1 WinDrv?2", !!@InWin))
  399.         @Move(22,0)@Text("SelectCmds")@Move(0,0)
  400.     @EndOutDrive
  401.  
  402.     @TmpDi="\\WINDOWS"
  403.     @GetSubdir @TmpDi @Cls @LocalWindow(9,40)
  404.         @Prompt=" @Text("Dir?") "
  405.  
  406.  @Text("WinDir?")
  407.         @If (!@InWin)
  408.  @Text("CreDir")
  409.         @EndIf
  410.     @EndSubdir
  411.  
  412.     @TmpQS="@TmpDr:\\@TmpDi"
  413.     @If (@InWin && !@DirExists(@TmpQS))
  414.         @Display @Cls
  415.  
  416.  @Text("!DirExist", @TmpQS)
  417.  
  418.             @Pause
  419.         @EndDisplay
  420.         @Goto ChooseWindows
  421.     @EndIf
  422.     @MkDir(@TmpQS)
  423.     @TmpQS="@TmpQS\\PROGMAN.INI"
  424.     @If (!@Exists(@TmpQS))
  425.         @Write(@TmpQS, "wt", "[Groups]\n")
  426.     @ElseIf (@Grep(@TmpQS, "\\RTZ.GRP\r\n")+1)
  427.         @Goto ChooseConfig
  428.     @EndIf
  429.     @TmpI1=((@FileSize(@TmpQS)&65535)|8192)
  430.     @Write(@TmpQS,, "Group@TmpI1=@OutDir\\RTZ.GRP\n")
  431. @EndIf
  432.  
  433.  
  434. ChooseConfig:
  435.  
  436. @FlushOptions
  437. @FlushGroups
  438.  
  439. @TmpQS="@OutDir\\RTZ.CFG"
  440. @TmpI1=32767
  441. @If (@Exists(@TmpQS))
  442.     @TmpI1=@PeekF(@TmpQS, 32, 1)
  443. @EndIf
  444.  
  445. @If (@TmpI1>2)
  446.     @CDDriveI=@Eval(@CDDrive-A)   
  447.     @SetOption(65)
  448.     @SetOption(67)
  449.     @SetGroup(O) @SetGroup(S)
  450.     @If (@ExtraMem)
  451.         @SetGroup(B) @SetGroup(H) @SetGroup(X)
  452.     @EndIf
  453.     @Goto InputConfig
  454. @EndIf
  455.  
  456. @CDDriveI=@PeekF(,, 1)
  457. @SetOption(20+@PeekF(,, 1))
  458. @SetOption(40+@PeekF(,, 1))
  459. @If (@PeekF(,, 1)) @SetGroup(O) @EndIf
  460. @If (@PeekF(,, 1)) @SetGroup(X) @EndIf
  461. @IOAddr=@PeekF(,, 2)
  462. @IRQ=@PeekF(,, 2)
  463. @DMA=@PeekF(,, 2)
  464. @If (@PeekF(,, 1)) @SetGroup(H) @EndIf
  465. @If (@PeekF(,, 1)) @SetGroup(S) @EndIf
  466.  
  467. @If (@TmpI1<2) 
  468.     @If (X[=@Group) @SetGroup(B) @EndIf
  469. @Else
  470.     @If (@PeekF(,, 1)) @SetGroup(B) @EndIf
  471. @EndIf
  472.  
  473.  
  474. InputConfig:
  475.  
  476. @If (@ChgCfg)
  477.     @FlushOptions
  478.     @GetOption @Cls @LocalWindow(11,40)
  479.  @Text("Snd?"):
  480.       //@Option 65="@Text("AutoDet")"
  481.         @Option 21="@ST1"
  482.         @Option 22="@ST2"
  483.         @Option 30="@ST10"
  484.         @Option 23="@ST3"
  485.         @Option 20="@ST0"
  486.         @Option 33="@ST13"
  487.           //@Option 28="@ST8"
  488.         @Option 24="@ST4"
  489.         @Option 32="@ST12"
  490.         @Option 31="@ST11"
  491.         @Option 26="@ST6"
  492.         @Option 27="@ST7"
  493.         @Option 25="@ST5"
  494.         @If (@Media) @Option 29="@ST9" @EndIf
  495.     @EndOption
  496. @EndIf
  497. @If (65[=@Option)
  498. //  @If (@DetectSoundCard(0))
  499. //      @SetOption(21)
  500. //      @IOAddr=@DetectSoundCard(1)
  501. //      @IRQ=@DetectSoundCard(2)
  502. //      @DMA=@DetectSoundCard(3)
  503. //      @SetOption(66)
  504. //  @Else   // Assume LifeSize
  505.         @SetOption(20)
  506. //  @EndIf
  507. @EndIf
  508.  
  509. @SndDrvI=0
  510. L2:
  511. @If (@SndDrvI+20[!@Option)
  512.     @SndDrvI=(@SndDrvI+1)
  513.     @Goto L2
  514. @EndIf
  515. @SndDrv=@StrToken(@SndDrvs, @SndDrvI*2, ":=")
  516. @SndDrv="DRIVERS\\@SndDrv"
  517. @Snd=@StrToken(@SndDrvs, @SndDrvI*2 + 1, ":=")
  518.  
  519. @If (65[=@Option && @ChgCfg)
  520.     @ClearOption(65)
  521.     @GetOption @Cls @CheckBox @LocalWindow(11,40)
  522.         @SetOption(0) @Option 0="@Text("Det", @Snd)"
  523.         @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  524.     @EndOption
  525.     @If (0[!@Option) @Goto InputConfig @EndIf
  526. @EndIf
  527.  
  528. @If (66[!@Option)
  529.     @IOAddr=@PeekF("@OutDir\\@SndDrv.COM", 262, 2)
  530.     @IRQ=@PeekF(,, 2)
  531.     @DMA=@PeekF(,, 2)
  532. @EndIf
  533.  
  534. @TmpI1=@IOAddr
  535. @IOAddrQS=""
  536. @If (!@TmpI1) @IOAddrQS="0" @EndIf
  537. IOAD2H:
  538.     @TmpI2=(@TmpI1&15)
  539.     @TmpI1=(@TmpI1/16)
  540.     @If (@TmpI1+@TmpI2)
  541.         @IOAddrQS="@StrMid(@HexDig, @TmpI2, 1)@IOAddrQS"
  542.     @EndIf
  543.     @If (@TmpI1) @Goto IOAD2H @EndIf
  544.  
  545. @If (@ChgCfg)
  546.     @TmpQS=@IOAddrQS
  547.     @TmpI2=@IRQ
  548.     @TmpI3=@DMA
  549.     @If (@DetectSoundCard(0))
  550.         @TmpI1=@DetectSoundCard(1)
  551.         @TmpQS=""
  552.         @If (!@TmpI1) @TmpQS="0" @EndIf
  553. IOAD2H2:
  554.             @TmpI2=(@TmpI1&15)
  555.             @TmpI1=(@TmpI1/16)
  556.             @If (@TmpI1+@TmpI2)
  557.                 @TmpQS="@StrMid(@HexDig, @TmpI2, 1)@TmpQS"
  558.             @EndIf
  559.             @If (@TmpI1) @Goto IOAD2H2 @EndIf
  560.         @TmpI2=@DetectSoundCard(2)
  561.         @TmpI3=@DetectSoundCard(3)
  562.     @EndIf
  563.  
  564.     @If (@IOAddr!=65535)
  565.         @GetString @IOAddrQS @Cls @Prompt=" @Text("Hex?") "
  566.  @Text("IOA?", @TmpQS):
  567.  
  568.         @EndString
  569.         @IOAddr=0
  570.         @TmpI1=(-1)
  571.         @Goto IOAH2D2
  572. IOAH2D1:
  573.         @IOAddr=(@IOAddr*16 + (@StrFind(@HexDig, @StrMid(@IOAddrQS, @TmpI1, 1)) & 15))
  574. IOAH2D2:
  575.         @TmpI1=(@TmpI1+1)
  576.         @If (@TmpI1<@StrLen(@IOAddrQS)) @Goto IOAH2D1 @EndIf
  577.     @EndIf
  578.  
  579.     @If (@IRQ!=65535)
  580.         @GetInteger @IRQ @Cls @Prompt=" @Text("Dec?") "
  581.  @Text("IRQ?", "@TmpI2"):
  582.  
  583.         @EndInteger
  584.     @EndIf
  585.  
  586.     @If (@DMA!=65535)
  587.         @GetInteger @DMA @Cls @Prompt=" @Text("Dec?") "
  588.  @Text("DMA?", "@TmpI3"):
  589.  
  590.         @EndInteger
  591.     @EndIf
  592. @EndIf
  593.  
  594. @IOAddr=(@IOAddr&65535)
  595. @IOAddrQS=@StrTail(@IOAddrQS, 4)
  596. @If (@IOAddr==65535) @IOAddrQS=@Text("None") @EndIf
  597.  
  598. @IRQ=(@IRQ&65535)
  599. @IRQQS="@IRQ"
  600. @If (@IRQ==65535) @IRQQS=@Text("None") @EndIf
  601.  
  602. @DMA=(@DMA&65535)
  603. @DMAQS="@DMA"
  604. @If (@DMA==65535) @DMAQS=@Text("None") @EndIf
  605.  
  606.  
  607. InputMusic:
  608.  
  609. @SndDflt=@StrToken(@SndDflts, @SndDrvI, ":")
  610. @TmpI1=@StrToInt(@SndDflt)
  611. @If (@StrFind(@SndDflt, "!")+1)
  612.     @SetOption(40+@TmpI1)
  613.     @ClearOption(67)
  614. @ElseIf (@ChgCfg)
  615.     @GetOption @Cls @LocalWindow(12,40)
  616.  @Text("Mus?"):
  617.         @Option 40="@MT0"
  618.       //@Option 67="@Text("AutoDet")"
  619.         @Option 43="@MT3"
  620.         @Option 44="@MT4"
  621.         @Option 49="@MT9"
  622.       //@Option 54="@MT14"
  623.         @Option 52="@MT12"
  624.         @Option 48="@MT8"
  625.         @Option 47="@MT7"
  626.         @Option 46="@MT6"
  627.         @Option 41="@MT1"
  628.         @Option 42="@MT2"
  629.         @Option 50="@MT10"
  630.         @Option 53="@MT13"
  631.         @Option 51="@MT11"
  632.         @Option 45="@MT5"
  633.     @EndOption
  634. @EndIf
  635. @If (67[=@Option)
  636.   @If (0)
  637.     @TmpI2=@DetectMusicDriver()
  638.     @If     (@TmpI2==3) @TmpI1=8
  639.     @ElseIf (!@TmpI2)   @TmpI1=5
  640.     @EndIf
  641.   @EndIf
  642.     @SetOption(40+@TmpI1)
  643. @EndIf
  644.  
  645. @MusDrvI=0
  646. L3:
  647. @If (@MusDrvI+40[!@Option)
  648.    @MusDrvI=(@MusDrvI+1)
  649.    @Goto L3
  650. @EndIf
  651. @MusDrv=@StrToken(@MusDrvs, @MusDrvI*2, ":=")
  652. @Mus=@StrToken(@MusDrvs, @MusDrvI*2 + 1, ":=")
  653.  
  654. @If (67[=@Option && @ChgCfg)
  655.     @ClearOption(67)
  656.     @GetOption @Cls @CheckBox @LocalWindow(11,40)
  657.         @SetOption(0) @Option 0="@Text("Det", @Mus)"
  658.         @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  659.     @EndOption
  660.     @If (0[!@Option) @Goto InputMusic @EndIf
  661. @EndIf
  662.  
  663. @TmpI1=(@StrFind(@SndDflt, "s")+1)
  664. @If (@TmpI1)
  665.     @ClearGroup(O)
  666. @EndIf
  667. @If (!@ExtraMem)
  668.     @ClearGroup(X)
  669.     @ClearGroup(B)
  670.     @ClearGroup(H)
  671. @EndIf
  672.  
  673. @CDDrive=(@StrIndex(@Alpha, @CDDriveI))
  674.  
  675. @If (@ChgCfg)
  676.     @If (@ExtraMem || !@TmpI1 || @Media)
  677.         @GetGroups @Cls @CheckBox @LocalWindow(9,40)
  678.  @Text("Add?")
  679.         @If (!@TmpI1)
  680.             @Set O="@Text("Smooth?")"
  681.         @EndIf
  682.         @If (@ExtraMem)
  683.             @Set X="@Text("EMS?")"
  684.             @Set B="@Text("EMSVideo?")"
  685.             @Set H="@Text("LoadHi?")"
  686.         @EndIf
  687.         @If (@Media==1)
  688.             @Set S="@Text("DigSnd?")"
  689.         @EndIf
  690.         @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  691.         @EndGroups
  692.     @EndIf
  693.  
  694.     @If (@Media)
  695.         @GetOutDrive @CDDrive @LocalWindow(15,40)
  696.         @If (!@DirExists("A:")) @Suppress A @EndIf
  697.         @If (!@DirExists("B:")) @Suppress B @EndIf
  698.         @Cls
  699.  
  700.  @Text("CD?", @Name):
  701.         @Move(22,0)@Text("SelectCmds")@Move(0,0)
  702.         @EndOutDrive
  703.         @CDDriveI=@Eval(@CDDrive-A)
  704.     @EndIf
  705. @EndIf
  706.  
  707. @TmpQS="@OutDir\\RTZ.CFG"
  708. @Write(@TmpQS, "wb", "@Name\r\n\x1a               ")
  709. @PokeF(@TmpQS, 32, 1, 2)             // .CFG file version
  710. @PokeF(,, 1, @CDDriveI)
  711. @PokeF(,, 1, @SndDrvI)
  712. @PokeF(,, 1, @MusDrvI)
  713. @PokeF(,, 1, O[=@Group)
  714. @PokeF(,, 1, X[=@Group)
  715. @PokeF(,, 2, @IOAddr)
  716. @PokeF(,, 2, @IRQ)
  717. @PokeF(,, 2, @DMA)
  718. @PokeF(,, 1, H[=@Group)
  719. @PokeF(,, 1, S[=@Group)
  720. @PokeF(,, 1, B[=@Group)
  721.  
  722. @PokeF("@OutDir\\@SndDrv.COM", 262, 2, @IOAddr)
  723. @PokeF(,, 2, @IRQ)
  724. @PokeF(,, 2, @DMA)
  725.  
  726. @GetOption @Cls @CheckBox @LocalWindow(20,40)
  727.          @Name @Text("SysCfg")
  728.  
  729.     @Text("Snd"):@Move(3,44)@Snd
  730.       @Text("IOA"):@Move(4,44)@IOAddrQS
  731.       @Text("IRQ"):@Move(5,44)@IRQQS
  732.       @Text("DMA"):@Move(6,44)@DMAQS
  733.     @Text("Mus"):@Move(7,44)@Mus
  734.     @Text("Smooth"):@Move(8,44)@Text(@StrToken(@NY,O[=@Group))
  735.     @Text("EMS"):@Move(9,44)@Text(@StrToken(@NY,X[=@Group))
  736.     @Text("EMSVideo"):@Move(10,44)@Text(@StrToken(@NY,B[=@Group))
  737.     @Text("LoadHi"):@Move(11,44)@Text(@StrToken(@NY,H[=@Group))
  738.     @If (@Media==1)@Text("DigSnd"):@Move(12,44)@Text(@StrToken(@NY,S[=@Group)) @EndIf
  739.     @If (@Media)@Text("CD"):@Move(13,44)@CDDrive: @EndIf
  740.  
  741.     @Text("ToChg"):
  742.                @OutDir\INSTALL
  743.  
  744.     @If (!@ChgCfg) @SetOption(63) @EndIf @Option 63="@Text("Cfg?")"
  745.     @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  746. @EndOption
  747. @ChgCfg=1
  748. @If (63[=@Option) @Goto InputConfig @EndIf
  749.  
  750. @If (O[=@Group)   @Args="@Args -O" @EndIf
  751. @If (X[=@Group)   @Args="@Args -X" @EndIf
  752. @If (B[=@Group)   @Args="@Args -L" @EndIf
  753. @If (S[!@Group)   @Args="@Args -S" @EndIf
  754. @If (H[=@Group)   @LH="LOADHIGH "  @EndIf
  755.  
  756. @BOn="@@echo off\n@OutDrive:\ncd \\@Subdir\n"
  757. @BOff="@SndDrv u\n"
  758.  
  759. @If (@StrFind(@SndDflt, "u")+1)
  760.     @BOn="@BOn@!SBOS -f\n@LH@!DRIVERS\\ULTRAMID -DDRIVERS\\ -M90 -NMT32.INI\n"
  761.     @BOff="@BOff@!DRIVERS\\ULTRAMID -F\necho.\n"
  762. @EndIf
  763. @BOn="@BOn@LH@SndDrv\n"
  764. @If (@StrFind(@SndDflt, "p")+1)
  765.     @BOn="@BOn@!PAS set fm to 90\nPAS set pcm to 60\nPAS set vol to 60\n"
  766. @EndIf
  767.  
  768. @If (@Media==1)
  769.     @Write("MECH2.BAT", "wt",
  770.         "@BOn@CDDrive:\\MECH2\\MECINTRO @CDDrive:\\MECH2\\\n@BOff")
  771.     @Write("RSCARRY.BAT", "wt",
  772.         "@BOn@CDDrive:\\SCARRY\\BEST @CDDrive:\\SCARRY\\BESTDEMO@Args -P:@CDDrive:\\SCARRY\\ -F\n@BOff")
  773.     @Write("SIMON.BAT", "wt",
  774.         "@@echo off\n@CDDrive:\ncd \\SIMON\nCALL SIMON\n")
  775. @EndIf
  776.  
  777. @If (40[!@Option) @Args="@Args -M:DRIVERS\\@MusDrv" @EndIf
  778. @If (@Media)
  779.     @Args="@Args -P:@CDDrive:\\"
  780.     @If (@Exists("@OutDir\\@FileBase.PRJ"))
  781.         @Args="@Args -F"
  782.     @EndIf
  783.     @If (@Media==2)
  784.         @BOn="@BOn@!FMPDRV\n"
  785.     @EndIf
  786. @EndIf
  787.  
  788. @Write("RTZ.BAT", "wt", "@BOn@MADECmd @FileBase@Args\n@BOff")
  789.  
  790. @TmpQS="@OutDir\\READ.ME"
  791. @If (@Initial && @Exists(@TmpQS))
  792.     @GetOption @Cls @CheckBox @LocalWindow(10,40)
  793.  
  794.  @Text("README1", @Name)
  795.  
  796.  @Text("README2")
  797.         @SetOption(64) @Option 64="@Text("VuREADME?")"
  798.         @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  799.     @EndOption
  800.     @If (64[=@Option) @Browse(@TmpQS) @EndIf
  801. @EndIf
  802.  
  803. @Display @Cls
  804.  @Text("Done", @Name)
  805.  
  806.  @Text("ToPlay"):
  807.  
  808.     @OutDir\RTZ
  809.  
  810.  @Text("ToChg"):
  811.  
  812.     @OutDir\INSTALL
  813.  
  814.  @If (@Initial && @InWin)@Text("ExitWin", @Name) @EndIf
  815.     
  816.     @Pause
  817. @EndDisplay
  818.  
  819. @Finish @Cls
  820. @EndFinish
  821.